/*
 * Tencent is pleased to support the open source community by making wechat-matrix available.
 * Copyright (C) 2018 THL A29 Limited, a Tencent company. All rights reserved.
 * Licensed under the BSD 3-Clause License (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      https://opensource.org/licenses/BSD-3-Clause
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package com.tencent.matrix.plugin.extension

open class MatrixRemoveUnusedResExtension(

        var v2: Boolean = false,

        var enable: Boolean = false,
        var shrinkArsc: Boolean = false,
        var needSign: Boolean = false,
        var apksignerPath: String = "",
        var apkCheckerPath: String = "",
        var ignoreResources: Set<String> = HashSet(),

        var variant: String = "",

        // WIP. Should not use these options yet.
        var use7zip: Boolean = false,
        var zipAlign: Boolean = false,
        var shrinkDuplicates: Boolean = false,
        var embedResGuard: Boolean = false,
        var sevenZipPath: String = "",
        var zipAlignPath: String = "",

        // Deprecated
        var unusedResources: HashSet<String> = HashSet()
) {

    override fun toString(): String {
        return """|
           | enable = ${enable}
           | v2 = ${v2}
           | variant = ${variant}
           | needSign = ${needSign}
           | shrinkArsc = ${shrinkArsc}
           | shrinkDuplicates = ${shrinkDuplicates}
           | embedResGuard = ${embedResGuard}
           | apkCheckerPath = ${apkCheckerPath}
           | apkSignerPath = ${apksignerPath}
           | sevenZipPath = ${sevenZipPath}
           | zipAlignPath = ${zipAlignPath}
           | ignoreResources = ${ignoreResources}
        """.trimMargin()
    }
}
